TCP/IP 與 Internet 網路:第十三章 網域名稱系統 上一頁 下一頁
13-3 DNS 命名方式
在第十二章曾簡單介紹網域名稱的命名方式,但只列出正向解譯的名稱排列方式。至於所有正反向解譯的名稱命名方式則列於圖 13-4。因此,整個 DNS 系統裡包含三種網域名稱系列:
(1) 反向網域:作為登錄由 IP 位址解譯到網域名稱使用。
(2) 通用網域:大多以三個英文字母表示某一組織單位的網域名稱,此網域名稱都以美國本土單位為主,如 adsl.support.cisco.com。
(3) 國家網域:大多以兩個字母來表示某一國家的網域名稱(ISO 3166 規範),或者表示某一地理區域的網域,如 cis.cu.edu.tw。
圖 13-4 DNS 網域名稱階層
13-3-1 網域區域
網域名稱是以樹狀階層式方式建構,最上層的根網域『.』包含三種系列網域名稱:反向網域、通用網域和國家網域。在根網域之下的網域稱之為『頂層網域』(Top Level Domain),譬如,com、edu、tw、jp 等。每一頂層網域管轄它所屬的第二層網域,也就是說,它必須負責登錄與管理第二層網域名稱的解譯,如要查詢頂層網域底下的哪一次網域,便可直接詢問該頂層網域。然而,第二層網域也必須負責登錄及管理它所管轄的第三層網域。當然,每一網域(不論哪一層次)都必須有專屬名稱伺服器(Name Server)來負責登錄及管理,簡單的說,上層名稱伺服器必須登錄下層名稱伺服器的位址,當客戶端查詢某一網域時(如 edu.tw),則上層名稱伺服器(tw),必須回應該網域(edu.tw)所管轄的名稱伺服器位址,同理,edu.tw 網域的伺服器必須登錄 cu.edu.tw 名稱伺服器位址,然而 cu.edu.tw 的名稱伺服器,再登錄 linux.cu.edu.tw 的主機位址(IP 位址)。
因此,所謂『網域區域』(Domain Zone)表示某一網域所管轄的範圍,如圖 13-4 中,橢圓形都表示一個網域區域。任一網域至少要有一部名稱伺服器負責該網域下的子網域和主機登錄。譬如,圖中 edu.tw. 網域不但要管理該網域下的次網域(如 cu 等),可能該網域也有主機名稱(如 linux.cu.tw.),而必須登錄以備查詢。然而,如果網域區域(如 com.)過大時,也許會由許多名稱伺服器來服務查詢工作,而另一方面,網域區域較小時(一般企業網域),一部名稱伺服器也可以管理若干個區域。
任何查詢動作非常有可能由上層名稱伺服器來得到下層名稱伺服器的位址,由此可見,查詢最上層根網域的機率將是非常大,並非一部伺服器可以承載的負荷,目前全世界有 A 到 M 共 15 部根伺服器分散各地(如 13-10-4 節範例),各個根伺服器都有其管轄範圍,以處理各地區的查詢。甚至其他網域(如 com.)也需要好幾部伺服器分散全球各地以備查詢,才足以承擔負荷。
13-3-2 完整網域名稱
所謂『完整網域名稱』(Full Qualified Domain Name, FQDN),就是能完整表現出某一主機的名稱。然而,網域名稱是以樹狀的反向排列方式,上下層之間都以一個『.』來區分,因此,FQDN 的表示必須由『主機名稱』 + 『網域名稱』 + 『.』。譬如,圖 13-4 中 linux 主機的 FQDN 為『linux.cu.edu.tw.』,其中『linux』為主機名稱、『cu.edu.tw』為網域名稱、又『.』為根網域。但一般習慣性並未將根網域填入,而一般電腦系統也都會自動將『.』填入。這是因為 DNS 系統的查詢,都以 FQDN 名稱來查詢,正是我們設定 DNS 伺服器時(登錄時)必須注意的事項。
13-3-3 反向網域名稱
DNS 系統除了可以由網域名稱解譯到 IP 位址外,還必須提供由 IP 位址來查詢出網域名稱,這稱為反向查詢。亦即 DNS 伺服器必須登錄有關 IP 位址解譯到網域名稱,然而 IP 位址是一組數字的組合,使用什麼方法來登錄最為方便呢?可讓查詢動作會最方便。早期 ARPANET 網路就想出一個便捷的方法,讓 IP 登錄的方法和網域名稱相同,而它的格式編寫如同網域名稱一樣,如下:(圖 13-4)
62.2.15.163.in-addr.arpa.
其中,in-addr.arpa. 為『反向網域』管轄有關 IP 位址對網域名稱的登錄,在這網域區域下的 163.in-addr.arpa 網域管轄有關 IP 位址為 163.×.×.×;又 15.163.in-addr.arpa 管轄 163.15.×.×;又 2.15.163.in-addr.arpa 管轄 163.15.2.×,而 62.2.15.163.addr-arpa 便登錄主機的網域名稱(linux.cu.edu.tw)。由此可見,反向網域也是用反向的命名方式,這可和正向網域相同,因此,不但可以方便登錄次序,也可以用相同的演譯法來查詢。
從另方面來看,任何一部主機在 DNS 伺服器除了必需登錄網域名稱外,也必須登錄反向網域以供查詢。如圖 13-4 中,linux.cu.edu.tw 和 62.2.15.163.in-addr.arpa. 是表示同一部主機,但這兩份資料也不一定非得存放在同一部 DNS 伺服器上,可分別登錄不同的 DNS 伺服器上以供查詢。